package dao

import (
	"gitee.com/huangxinbo/xcas/internal/app/base"
)

type DAO struct {
	// Add Dao layer instances
	UserDAO           *UserDAO
	CasTicketDAO      *CasTicketDAO
	CasTicketRedisDAO *CasTicketRedisDAO
	VerificationDAO   *VerificationDAO
	FileDAO           *FileDAO
	OAuthUserDAO      *OAuthUserDAO
}

func NewDAO(base *base.Base) *DAO {
	return &DAO{
		// Add Dao layer instances
		UserDAO:           NewUserDAO(base),
		CasTicketDAO:      NewCasTicketDAO(base),
		CasTicketRedisDAO: NewCasTicketRedisDAO(base),
		VerificationDAO:   NewVerificationDAO(base),
		FileDAO:           NewFileDAO(base),
		OAuthUserDAO:      NewOAuthUserDAO(base),
	}
}
